A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Technical Field
The present invention relates generally to providing program documentation and more specifically to providing program documentation during program compilation.
2. Background Art
Providing computer software documentation has been one of the most difficult and cumbersome aspects of software development. The source code programmer usually provides some documentation in the code. This documentation is commonly referred to as comment statements and includes text information that is not compiled when the source code is compiled into object code. Prior use of comments in source code is disclosed in U.S. Pat. No. 4,488,258 entitled xe2x80x9cProgrammable Controller with Control Program Commentsxe2x80x9d which discloses a controller system that provides a means for producing a mnemonic and comment number when comments are entered into a terminal keyboard wherein the comments are stored separately from the program and automatically displayed to the user. Other attempts at using comments in the source code to document the source code include IBM Technical Disclosure Bulletin, Vol. 15. No. 7, December, 1972 entitled xe2x80x9cSelf-Documenting Macrosxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 24, No. 12, May, 1982 entitled xe2x80x9cComputer Program Documentationxe2x80x9d, and IBM Technical Disclosure Bulletin, Vol. 30, No. 12, May, 1988, entitled xe2x80x9cAutomatic Retrieval of Program Design Information from Source Codexe2x80x9d.
There are some modern documentation software tools such as Logic Gem, DCD-PC and DCD III by International Computer Programs, Inc., and dFlow by WallSoft Systems, Inc. These tools review the source code and generate various reports including flow-charts, module cross reference lists, a variable concordance, and logic spreadsheets. However, these tools are limited to reviewing the executable source code to generate these reports and are primarily for aiding the developer or maintainer of the source code rather than the user.
U.S. Pat. No. 4,860,203 discloses a system extracting documentation text from a source code program during compilation in the order of appearance in the source program. This patent provides a method for generating pseudocode from the source code.
The present invention provides an apparatus for producing object code from source code including input means for receiving the source code, the source code including executable source code and source code documentation, and compilation means, coupled to the input means, including first means for providing object code from the source code, and second means for providing documentation including selected portions of the executable source code and the source code documentation, and for organizing the provided documentation into a predefined format independent of executable source code organization.
The present invention also provides a method of for producing object code from source code including the steps of receiving the source code, the source code including executable source code and source code documentation, and compiling the received source code including the steps of providing object code from the source code, and providing documentation including selected portions of the executable source code and the source code documentation, and organizing the provided documentation into a predefined format independent of executable source code organization.